//
// WinPcap.net
//
// Copyright (C) 2005 Matthew Ward
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
//
// Matthew Ward (mrward@users.sourceforge.net)

using System;
using System.Runtime.Serialization;

namespace WinPcap
{
	/// <summary>
	/// The exception that is thrown when an error occurs in the WinPcap.Net library.
	/// </summary>
	[ Serializable ]
	public sealed class WinPcapException : Exception
	{
		/// <summary>
		/// Initializes a new instance of the <see cref="WinPcapException"/> 
		/// class.
		/// </summary>
		public WinPcapException( )
		{
		}
		
		/// <summary>
		/// Initializes a new instance of the <see cref="WinPcapException"/> 
		/// class with a specified error message.
		/// </summary>
		/// <param name="message">A message that describes the error.</param>
		public WinPcapException( string message )
			: base( message )
		{
		}
		
		/// <summary>
		/// Initializes a new instance of the <see cref="WinPcapException"/> 
		/// class with a specified error message.
		/// </summary>
		/// <param name="message">A message that describes the error.</param>
		/// <param name="innerException">The exception that is the cause of the current exception.</param>
		public WinPcapException( string message, Exception innerException )
			: base( message, innerException )
		{
		}
		
		/// <summary>
		/// Initializes a new instance of the <see cref="WinPcapException"/> 
		/// class with a specified error message.
		/// </summary>
		/// <param name="info">The <see cref="SerializationInfo"/> that holds
		/// the serialized object data about the exception being thrown.</param>
		/// <param name="context">The <see cref="StreamingContext"/> that 
		/// contains contextual information about the source or destination.</param>
		WinPcapException( SerializationInfo info, StreamingContext context )
			: base( info, context )
		{
		}
	}
}
